.page--add-city {
  // position: relative;
  width: 100%;
  .cpn--search-bar {
    top: 35vh;
    .search-box {
      height: 4.8rem;
      width: calc(100% - 4rem);
      border-radius: 4.8rem;
      background-color: #eeeeee55;
      display: flex;
      align-items: center;
      margin: 0 2rem;
      padding: 0 1.6rem;
      position: relative;
      font-size: 1.4rem;

      .fake-placeholder {
        color: #bbbbbbaa;
        font-size: 1.4rem;
        padding-left: 1.6rem;
        width: 100%;
      }

      .icon-search {
        width: 2rem;
        height: 2rem;
      }

      .input-box {
        position: absolute;
        height: 100%;
        width: 100%;
        display: flex;
        align-items: center;
        font-size: 1.4rem;
        left: 0;
        top: 0;
        background-color: transparent;
        border: none;
        outline: none;
        padding: 0 1.6rem;
        padding-left: 4.8rem;
        flex: 1;
      }
    }
  }

  .input-mode {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    height: calc(var(--statusbar-height) + 6rem);
    width: 100%;
    background-color: #fff;
    padding-top: var(--statusbar-height);
    display: flex;

    transition: all 260ms;

    .btn-cancel {
      color: var(--primary-color);
      font-size: 1.6rem;
      height: 4.8rem;
      width: 4.8rem;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      margin-right: 2rem;
    }
  }

  .city-list {
    padding: 0 1rem;
    margin-top: 1.6rem;

    .cpn--city-thumb + .cpn--city-thumb {
      margin-top: 1rem;
    }
  }

  .cpn--city-thumb {
    border-radius: var(--module-box-radius);
    height: 10rem;
    width: 100%;
    position: relative;
    overflow: hidden;
    background-color: #00000010;

    .display-info {
      display: flex;
      justify-content: space-between;
      height: 100%;
      align-items: center;
      padding: 0 1.6rem;
      color: #ffffff;

      .city-name {
        font-size: 1.8rem;
      }

      .air-text-wrapper {
        margin-top: .5rem;
        * {
          font-size: 1.4rem;
        }
        .temp-split {
          margin: 0 .6rem;
        }
        .aqi-text {
          margin-right: 1.2rem;
        }
      }

      .temp-text {
        font-size: 3.2rem;
      }
    }

    .cpn--weather-bg {
      position: absolute;
      height: 100%;
      width: 100%;

      .img-cloud {
        margin-top: 0;
      }
    }
  }

  .cpn--search-city-panel {
    position: absolute;
    left: 0;
    z-index: 2;
    height: calc(100vh - calc(var(--statusbar-height) + 6rem));
    width: 100%;
    background-color: #fff;
    top: calc(calc(var(--statusbar-height) + 6rem));

    .city-panel-title {
      padding: 0 2rem;
      margin: 1.6rem 0;
      color: #bbbbbbaa;
    }

    .hot-citys {
      display: flex;
      flex-wrap: wrap;
      padding: 0 2rem;
      padding-bottom: 2rem;

      .city-box {
        width: calc((100% - 2rem) / 3);
        height: 4rem;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 999rem;
        background-color: #eeeeee55;
        font-size: 1.4rem;
        margin-bottom: 1rem;
        margin-right: 1rem;

        &:nth-child(3n) {
          margin-right: 0;
        }
      }

      .active-city {
        color: var(--primary-color);
      }
    }
  }
}